{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

<form class="acl-form" autocomplete="off" {{on "submit" this.save}}>
	{{#if @policy.isNew }}
		<Hds::Form::TextInput::Field
			@isRequired={{true}}
			data-test-policy-name-input
			@value={{@policy.name}}
			{{on "input" this.updatePolicyName}}
			{{autofocus}}
		as |F|>
			<F.Label>Policy Name</F.Label>
		</Hds::Form::TextInput::Field>
	{{/if}}

	<div class="boxed-section">
		<div class="boxed-section-head">
			Policy Definition
		</div>
		<div class="boxed-section-body is-full-bleed">

			<div
				class="policy-editor"
				data-test-policy-editor
				{{code-mirror
					screenReaderLabel="Policy definition"
					theme="hashi"
					mode="ruby"
					content=@policy.rules
					onUpdate=this.updatePolicyRules
					autofocus=false
					extraKeys=(hash Cmd-Enter=this.save)
				}} />
		</div>
	</div>

	<div>
		<label>
			<span>
				Description (optional)
			</span>
			<Input
				data-test-policy-description
				@value={{@policy.description}}
				class="input"
			/>
		</label>
	</div>

	<footer>
		{{#if (can "update policy")}}
		<Hds::Button
			@text="Save Policy"
			@type="submit"
			data-test-save-policy
			{{on "click" this.save}}
		/>
		{{/if}}
	</footer>
</form>